/* 通用css */
* {
    box-sizing: border-box;
}
i{
    user-select: none;
}
body {
    color: var(--fontColor);
    font-family: var(--globalFont), serif;
    word-break: break-word;
}
/* 自定义类CSS */
.no-scrollbar{
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.overflow-x-auto{
    overflow-x: auto;
}
.overflow-x-hidden{
    overflow-x: hidden;
}
.overflow-y-auto{
    overflow-y: auto;
}
.overflow-y-hidden{
    overflow-y: hidden;
}
/* @font-face {
    font-family: SmileySans;
    src: url(https://cos.roginx.ink/www/index/cdn/font/AlimamaFangYuanTiVF-Thin.ttf);
    font-display: swap;
} */
/* 图片 */
.background-image {
    width: 100%;
    height: 100vh;
    /* 固定位置，不随滚动条滚动 */
    position: fixed;
    z-index: -1;
}

.background-image::before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    content: '';
}

.background-image-error {
    background-color: var(--lightGreen);
    width: 100vw;
    height: 100vh;
    /* 固定位置，不随滚动条滚动 */
    position: fixed;
    z-index: -1;
}

/* 模块化背景色及透明度 */
.background-opacity {
    /*background: var(--background);*/
    /*opacity: 0.88;*/
}

.my-el-image {
    width: 100%;
    height: 100%;
}

.my-el-image .image-slot {
    width: 100%;
    height: 100%;
}

/* 遮罩 */
.poem-image::before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--mask);
    content: "";
}

.user-avatar {
    cursor: pointer;
    transition: all 0.3s;
    user-select: none;
}

.user-avatar:hover {
    transform: rotate(360deg);
}

/* 滚动条 */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background-color: rgba(73, 177, 245, 0.2);
}

::-webkit-scrollbar-thumb {
    background-color: #49b1f5;
    background-image: linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.4) 25%,
            transparent 25%,
            transparent 50%,
            rgba(255, 255, 255, 0.4) 50%,
            rgba(255, 255, 255, 0.4) 75%,
            transparent 75%,
            transparent
    );
    border-radius: 1em;
}

.el-select-dropdown.el-popper ::-webkit-scrollbar {
    display: none;
}

/* 选中样式 */
::selection {
    background: var(--lightYellow);
    color: var(--black);
}

/* 居中 */
.myCenter {
    display: flex;
    justify-content: center;
    align-items: center;
}

.transformCenter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* 两边 */
.myBetween {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 阴影 */
.shadow-box-mini {
    box-shadow: 1px 1px 3px var(--mask);
}

.shadow-box {
    box-shadow: 0 1px 20px -6px var(--borderColor);
    transition: all 0.3s ease;
}

.shadow-box:hover {
    box-shadow: 0 5px 10px 5px var(--borderHoverColor);
}

/* el弹出框样式 */
.el-message {
    top: 80px !important;
    border: 0;
}

.el-message * {
    color: var(--white) !important;
    font-weight: 600;
}

.el-message--success {
    background: -webkit-linear-gradient(90deg, #9df10d,#78cb5c,#6ea174);/* Chrome 10-25, Safari 5.1-6 */                          background: linear-gradient(90deg, #9df10d,#78cb5c,#6ea174);/* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */                                             
}

.el-message--bottom {
    top:unset !important;
    bottom: 20px !important;
    background: linear-gradient(270deg, #833ab4 0%,#fd1d1d 50%,#fcb045 100%);
}

.el-message--warning {
    background: var(--gradientBG);
}

.el-message--error {
    background: var(--gradualRed);
}

/* 看板娘 */
#waifu-toggle, #waifu {
    z-index: 100;
}

#waifu-tips {
    border: unset;
    animation: unset;
    width: 200px;
    min-height: 60px;
}

#waifu-tool {
    right: -10px;
    bottom: 20px;
    top: unset;
}

#waifu #live2d {
    height: 250px;
    width: 250px;
}

/* 图标旋转 */
.iconRotate {
    animation: rotate 2s linear infinite;
}

/* 树洞留言 */
.baberrage-item .baberrage-msg {
    padding-right: 5px;
}

.baberrage-item .normal .baberrage-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.el-upload.el-upload--picture {
    width: 100%;
}

.el-upload-dragger {
    width: 100% !important;
    height: 100px !important;
}

/* 导航栏 */
.toolbarDrawer {
    position: relative;
    background: var(--toolbar) center center / cover no-repeat;
    letter-spacing: 3px;
}

.toolbarDrawer .el-drawer__header {
    font-size: 22px;
    color: var(--white);
    text-align: center;
    position: relative;
}

.toolbarDrawer::before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--mask);
    content: "";
}

.small-menu {
    color: var(--white);
    font-size: 20px;
    user-select: none;
    position: relative;
}

.small-menu > li {
    list-style: none;
    height: 50px;
    line-height: 50px;
    cursor: pointer;
}
.el-tooltip__popper.is-light {
    background: var(--lightGreen);
    border-radius: 10px;
    color: var(--white);
    padding: 12px 20px;
    letter-spacing: 1px;
    font-weight: 600;
    line-height: 1.5;
    font-size: 1.2rem;
    border: unset;
}

.el-tooltip__popper .popper__arrow {
    border-style: unset;
}
[ks-tag] {
    position: relative;
}

[ks-tag]:before,[ks-tag]:after {
    position: absolute;
    pointer-events: none
}

[ks-tag]:before {
    width: 0;
    height: 0;
    opacity: 0;
    content: '';
    position: absolute;
    transition: opacity .3s;
    border: .5rem solid transparent
}

[ks-tag~=top]:before {
    bottom: 100%;
    border-top-color: rgba(0,0,0,.7)
}

[ks-tag~=bottom]:before {
    top: 100%;
    border-bottom-color: aliceblue;
}

[ks-tag~=top]:before,[ks-tag~=bottom]:before {
    left: 50%;
    transform: translateX(-50%)
}

[ks-tag=left]:before {
    right: 100%;
    border-left-color: rgba(0,0,0,.7)
}

[ks-tag=right]:before {
    left: 100%;
    border-right-color: rgba(0,0,0,.7)
}

[ks-tag=left]:before,[ks-tag=right]:before {
    top: 50%;
    transform: translateY(-50%)
}

[ks-tag~=top]:after {
    bottom: 100%;
    margin-bottom: 1rem
}

[ks-tag~=bottom]:after {
    top: 100%;
    margin-top: 1rem
}

[ks-tag=top]:after,[ks-tag=bottom]:after {
    left: 50%;
    transform: translateX(-50%)
}

[ks-tag=left]:after {
    right: 100%;
    margin-right: 1rem
}

[ks-tag=right]:after {
    left: 100%;
    margin-left: 1rem
}

[ks-tag=left]:after,[ks-tag=right]:after {
    top: 50%;
    transform: translateY(-50%)
}

[ks-tag~=left][ks-tag~=top]:after,[ks-tag~=left][ks-tag~=bottom]:after {
    right: 0;
    min-width: 4em
}

[ks-tag~=right][ks-tag~=top]:after,[ks-tag~=right][ks-tag~=bottom]:after {
    left: 0;
    min-width: 4em
}

[ks-text]:hover:before,[ks-text]:hover:after {
    opacity: 1;
}

[ks-text]:after {
    opacity: 0;
    z-index: 15000000;
    color: #fff;
    font-size: 1rem;
    white-space: nowrap;
    border-radius: .5rem;
    padding: .75rem .75rem;
    content: attr(ks-text) ;
    transition: opacity .3s;
    background: rgba(0,0,0,.7)
}
.mceTmpl,tinytemplate{
	position:relative;
    user-select: none;
    display: block;
}
.check_label{
    box-sizing: border-box;
    width:100%;
    display: block;
    position: absolute;
    width: 100%;
    height: 120px;
    opacity: 1;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--background) 100%);
    pointer-events: none;
}
.hideContext{
    position: relative;
    box-sizing: border-box;
    width:100%;
    max-height:160px;
    min-height: 100px;
    overflow: hidden;
	transition:.3s;
}
.check_label::after{
    content: '显示内容';
    letter-spacing: .3em;
    height: 1.2em;
    background: #0000000a;
    line-height: 1.2em;
    bottom: 0px;
    display: inline-block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    font-size: .8em;
    color: #fff;
    padding: 8px 14px;
    border-radius: 4px;
    box-shadow: 0px 2px 2px rgb(0 0 0 / 20%);
    cursor: pointer;
    pointer-events: auto;
}
.check_label:hover::after{
	font-weight:550;
	color:#FFF;
	background: #000;
    opacity: 1 !important;
	transition:.3s;
}
.hideCheckInput{
    display: none;
}
.hideCheckInput:checked ~ .check_label{
    transition: .3s;
    background-image: none;
}
.hideCheckInput:checked ~ .hideContext {
    min-height: 300px;
    max-height: unset;
    transition: .3s;
}
.hideCheckInput:checked ~ .check_label::after{
    content: '隐藏内容';
    transition: 2s  ease .5s;
    opacity: 0;
}
.hideCheckInput:checked ~ .check_label:hover::after{
	background: #000 !important;
    animation:none;
	transition: .4s !important;
}
.full-video-header{
    height: 100vh;
    width: calc(100vw - (100vw - 100%));
    position: absolute;
    overflow: hidden;
}
.index-full-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    object-fit: cover;
    animation-direction: alternate;
    animation: move-video 20s infinite linear;
}

@keyframes move-video {
    0% {
      object-position: 0% 0%;
    }
    10% {
      object-position: 50% 50%;
    }
    60% {
      object-position: 100% 100%;
    }
    90% {
      object-position: 50% 50%;
    }
    100% {
        object-position: 0% 0%;
    }
  }
.switch {
    user-select: none;
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input {
    display: none;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: 0.4s;
    border-radius: 50%;
}

input:checked + .slider {
background-color: #2196F3;
}

input:checked + .slider:before {
transform: translateX(26px);
}
.print{
    width:1000px;
    white-space:nowrap;
    overflow:hidden;
    -webkit-animation: dy 3s steps(60, end) infinite;
    animation: dy 3s steps(50, end) infinite;
}
.spanFeather {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
@supports (-webkit-mask-image: inherit) or (mask-image: inherit) {
.spanFeather {
    text-overflow: clip;
    -webkit-mask-image: linear-gradient(
        to right,
        rgba(0, 0, 0, 1) calc(100% - 2em),
        transparent
    );
    mask-image: linear-gradient(
        to right,
        rgba(0, 0, 0, 1) calc(100% - 2em),
        transparent
    );
}
}

@-webkit-keyframes dy{
    from { width: 0;}
}
@keyframes dy{
    from { width: 0;}
}
@media screen and (max-width: 400px) {
    .el-dialog {
        width: 75% !important;
    }
}
